On Demand Autonomous Rail Transport

ABSTRACT

In an embodiment, a method (and system) includes dispatching and routing, by a dispatch and routing controller, and responsive to a received user request, a highly-automated trainset. The highly-automated trainset has one or more cars attached to a highly-automated locomotive. The method (and system) dispatches the highly-automated locomotive from a first location to a second location over a train track. The method (and system) provides, at the second location, a notification indicating readiness for loading of cargo onto the one or more cars. The method (and system) loads at least one of the one or more cars with the cargo at the second location. Further responsive to the received user request, the method (and system) dispatches and routes, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track.

BACKGROUND

Trains (also known as “trainsets”) include locomotives and railroad cars, and are used for land transport of people and cargo. Trains have substantial capacity for such land transport and are useful in modern society.

SUMMARY

Embodiments of the present disclosure are directed to computer methods, systems, and program products for transporting one or more cars via a highly-automated locomotive. A highly-automated locomotive may be fully automated or may be partially-automated and partially-manually operated.

In an embodiment, a method includes dispatching and routing responsive to a received user request, by a dispatch and routing controller, a highly-automated trainset (also referred to as “train” or a “consist” herein). The user request may include, but is not limited to including, a pickup location, cargo load size or type, or destination. A highly-automated trainset may be fully automated (e.g., autonomous) or may automate one or more operations of a train while having at least one operation performed manually (e.g., by a user).

The highly-automated trainset has one or more cars attached to a highly-automated locomotive. The highly-automated locomotive is dispatched from a first location to a second location over a train track. The method provides, at the second location, a notification (e.g., application notification signal, lighting, sign, or other means of providing information to a user) indicating readiness for loading of cargo onto the one or more cars. The method enables loading at least one of the one or more cars with the cargo at the second location. Further responsive to the received user request, the method dispatches and routes, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track.

In an embodiment, a system includes a processor and a memory with computer code instructions stored therein. The memory is operatively coupled to said processor such that the computer code instructions configure the processor to implement a dispatch and routing controller. The dispatch and routing controller is configured to dispatch and route, by a dispatch and routing controller, responsive to a received user request associated with cargo, a highly-automated trainset having one or more cars attached to a highly-automated locomotive from a first location to a second location over a train track. The dispatch and routing controller is configured to provide, at the second location, a notification indicating readiness for loading of cargo onto the one or more cars. The dispatch and routing controller is configured to enable loading at least one of the one or more cars with the cargo at the second location. The dispatch and routing controller is configured to dispatch and route, further responsive to the received user request, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track.

In an embodiment, a computer program product includes a non-transitory computer-readable medium configured to store instructions for transporting one or more cars via a highly-automated locomotive. The instructions, when loaded and executed by a processor, cause the processor to dispatch and route, by a dispatch and routing controller, responsive to a received user request associated with cargo, a highly-automated trainset having the one or more cars attached to the highly-automated locomotive from a first location to a second location over a train track. The instructions are further configured to provide, at the second location, a notification indicating readiness for loading of cargo onto the one or more cars. The instructions are further configured to enable loading at least one of the one or more cars with the cargo at the second location. The instructions are further configured to dispatch and route, further responsive to the received user request, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track.

In an embodiment, the system, method, and computer program product coordinate transfer of at least a portion of the cargo or at least one car of the one or more cars between the highly-automated locomotive and another locomotive.

In an embodiment, the first location is an initial location along the train track, the second location is a pickup location along the train track, and the third location is a rail delivery location along the train track.

In an embodiment, the one or more cars include any of a freight car or a passenger car.

In an embodiment, the routing is further based upon one or more other locomotives.

In embodiments, the routing is based upon one or more of the following characteristics: a current utilization or capacity of the train track using a portion of the train track that is less utilized than another portion of the train track, avoidance of traffic congestion, a weight of the one or more cars, a volume of the one or more cars; a weight of the cargo, a volume of the cargo, a destination of the cargo, a location of the cargo, a transit time, an arrival time, a scheduled departure time, and a capability of the highly-automated locomotive including any of power, speed, braking range, and sensing range. In an embodiment, avoidance of traffic congestion may include but is not limited to include (a) avoidance of other rail traffic based on utilization of the train track or (b) avoidance of vehicle traffic where one or more roads cross the train track.

In embodiments, the routing is further based upon at least one of the characteristics as associated with the one or more other locomotives. In embodiments, the routing is performed between the highly-automated locomotive and the one or more other locomotives. In embodiments, the routing improves efficiency, based on other pending pickups and drop-offs, by leaving at least one car of the one or more cars in an intermediate location, such as a siding, and allowing another less-busy locomotive to pick up the at least one car of the one or more cars for delivery.

In an embodiment, two or more locomotives join together for pulling heavy loads.

Embodiments may coordinate transfer of the cargo from the third location to a fourth location.

In embodiments, the fourth location may be a destination location indicated by the received user request.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing will be apparent from the following more particular description of example embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments.

FIGS. 1A-D are high-level block diagrams that collectively illustrate an example embodiment of a system employed by the present disclosure.

FIG. 2 is high-level block diagram illustrating an example embodiment of a system employed by the present disclosure.

FIG. 3 is diagram illustrating the feature of braking range according to an example embodiment of a system employed by the present disclosure.

FIG. 4 is a flow diagram illustrating an example embodiment of the present disclosure.

FIG. 5 illustrates a computer network or similar digital processing environment in which embodiments of the present disclosure may be implemented.

FIG. 6 is a diagram of an example internal structure of a computer (e.g., client processor/device or server computers) in the computer system of FIG. 5, according to some embodiments.

DETAILED DESCRIPTION

A description of example embodiments follows.

There are multiple problems with existing approaches to rail transportation. First, trains do not commonly carry short haul (e.g., less than 500 mile) freight because it is more economical to use trucks for short haul freight using existing methods. Second, current methods of operating trains of any size require a full-sized locomotive operated by an engineer, which can increase labor, maintenance, and fuel costs. Third, existing approaches do not effectively utilize the entire rail network. Current methods utilize about 30% of the rail network on a regular basis to transport freight. Fourth, trucks are becoming prohibitively expensive for short haul transportation because trucks operate on federal and state funded highways that require increasing levels of maintenance each year due to heavy use.

Current methods do not effectively overcome such problems with rail transportation. Up until the 1960s, railroads carried most freight in the U.S. including short and long haul freight. However, after the 1960s, trucking began to overtake railroads as the predominant approach to transportation of short haul freight because trucks can be responsive to changing demands in schedule and loads. Railroad companies currently concentrate their efforts on transporting long haul massive freight, which requires a small number of users to operate and provides a substantial profit margin.

Although not an effective or realistic approach for rail transportation, one approach is to build new tracks down the medians of divided highways to carry freight on automated trains. Although building new tracks is a valid way to move freight, it is extremely costly to lay a lot of new specialized track and custom train cars.

The disclosed approach in an embodiment uses existing railroad track or existing cars to minimize costs. In another embodiment, the disclosed approach uses high rail vehicles. High rail vehicles may include one or more trucks (including but not limited to pickup trucks) that may be retrofitted with wheels. The retrofitted wheels may be small rail wheels. The high rail vehicles may drive on roads or on the train track.

As such, embodiments of the present disclosure solve the problems associated with existing approaches.

In an embodiment, the present disclosure provides, as an alternative to long chains, individual car-sized trains that include a highly-automated locomotive and one or more train cars. Such highly-automated locomotives are dispatched and controlled via wireless networks, and are sent to a rail-accessible destination. A user application (e.g., mobile user application) interfaces with a dispatch and routing controller to forward a user request for rail transport of cargo from a user and receive updates and notifications of the user requests.

In an embodiment, the dispatch and routing controller dispatches a highly-automated train that includes a highly-automated locomotive (e.g., a “locomotive”) pulling one or more rail cars to a destination on the rail network. Once at the pickup location, the locomotive informs the user or other individuals that it is ready to load, and remains at the pickup location while the requesting user loads the cargo. Once loaded, the locomotive confirms it is safe to leave for the destination location, and the locomotive begins to the destination where the process is reversed for unloading.

Such highly-automated locomotives may be implemented by modifying existing locomotives with or building new locomotives that include sensors to detect the presence of people, cars, trains, or other objects on the tracks for safety. In an embodiment, such highly-automated locomotives are lightweight by train standards and move at slow speeds. In an embodiment, the highly-automated locomotive executes automated short distance stops to avoid collisions with detected people, cars, trains, or other objects on the tracks. The locomotive transmits data back to the dispatch to ask for guidance as needed from human supervisors.

According to embodiments, components of the proposed approach include (1) highly-automated locomotives, and (2) a centralized dispatch and routing controller that handles requests for pickup and delivery. A benefit of the present disclosure is that highly-automated locomotives can pull stock rail cars on existing track.

Embodiments have multiple advantages compared with existing approaches. The disclosed approach in an embodiment uses highly-automated trains (comprising highly-automated locomotives attached to one or more cars), thereby removing the requirement of user-operated trains. In addition, given that the disclosed approach in an embodiment operates on standard track and uses existing cars, the disclosed approach in an embodiment does not require the building of specialized new track or trains. Thus, given that embodiments make use of existing track and cars, and do not require manually-operated trains, embodiments substantially reduce costs in multiple ways. Further, the disclosed approach in an embodiment may be achieved without the high-level of complexity required for self-driving cars. Self-driving cars require more control for their operation because they do not operate on a fixed track and have to detect or handle other types of collisions, such as a side-to-side collision.

FIGS. 1A-D are high-level block diagrams that collectively illustrate an example embodiment of a system employed by the present disclosure.

FIG. 1A is a block diagram illustrating a first state of the system 100. In an embodiment, through a user application (also known as “app” herein) 102, the user 160 makes a request 162 to dispatch and route a train associated with the user's cargo 130 (shown in FIGS. 1B-D to follow). The user request 162 may include, but is not limited to including, a pickup location, cargo load size or cargo type, or destination. As such, the system 100 includes a dispatch and routing controller 132 that dispatches and routes 164, responsive to the received user request 162, a highly-automated trainset 106 from a first location 120 to a second location 122 over a train track 134. The highly-automated trainset 106 includes one or more cars 108 attached to a highly-automated locomotive 110. In embodiments, the one or more cars 108 include any of a freight car or a passenger car.

FIG. 1B-I is a block diagram illustrating a second state of the system 100. In an embodiment, the highly-automated trainset 106 notifies 150 the dispatch and routing controller 132 of its arrival at the second location 122 from the first location 120. In turn, the dispatch and routing controller 132 provides, at the second location 122, a notification 150 (e.g., application notification signal, lighting, sign, or other means of providing information) to the user 160 through a user app 102, the notification 150 indicating readiness for loading of cargo 130 onto the one or more cars 108 attached to the highly-automated locomotive 110.

Next, according some embodiments, the cargo may be loaded (i) by a user or (ii) by a truck and driver as shown and described to follow.

As such, in some embodiments, as shown in FIG. 1B-I, (i) the user 160, either manually or via a forklift 188, other machinery, or other means known to one skilled in the art, loads at least one of the one or more cars 108 with the cargo 130 at the second location 122. Then, the user 160 notifies, via cargo load completion signal 168 sent by the user application 102, the highly-automated trainset 106 or dispatch and routing controller 132 that the cargo 130 is loaded.

Alternatively, in some embodiments, as shown in FIG. 1B-II, (ii) a driver or one or more trucks 190 loads the cargo 130 onto the one or more cars 108 attached to the highly-automated locomotive 110. As such, one or more trucks 190 or other non-rail transport vehicles load the cargo 130 onto the one or more cars 108 attached to the highly-automated locomotive 110 at the second location. Upon arrival of the highly-automated trainset 106 at the second location 122, the highly-automated trainset 106 sends a loading request 182 to the one or more trucks 190 through the user application 102. Then, the one or more trucks 190 or one or more drivers associated with the one or more trucks 190 loads the cargo 130 onto the highly-automated trainset 106.

FIG. 1C is a block diagram illustrating a third state of the system 100. In an embodiment, the dispatch and routing controller 132 dispatches and routes 164, further responsive to the received user request 162 of FIG. 1A, the highly-automated trainset 106 from the second location 122 to a third location 124 of FIG. 1C over the train track 134. Upon arrival at the third location 124, the highly-automated trainset 106 notifies 150 the dispatch and routing controller 132 of its arrival. The dispatch and routing controller 132 provides a confirmation 158 of arrival to the user 160 through the user application 102. In another embodiment, the highly-automated trainset 106 provides a notification 150 to the dispatch and routing controller 132 prior to its arrival at the third location 124, thereby providing an early confirmation 158 of arrival at the third location 124 to the user 160 through the user application 102. In some embodiments, the first location 120 is an initial location along the train track 134, the second location 122 is a pickup location along the train track 134, and the third location 124 is a rail delivery location along the train track 134.

FIG. 1D is a block diagram illustrating a fourth state of the system 100. In an embodiment, the dispatch and routing controller 132 dispatches and routes 164, further responsive to the received user request 162 of FIG. 1A, the highly-automated trainset 106 from the third location 124 to a fourth location 126.

As shown in FIG. 1D, embodiments may coordinate transfer of the cargo 130 from the third location 124 to a fourth location 126 via one or more trucks 190 or other non-rail transport vehicles (e.g., delivery to destination facility or “last mile” delivery). In embodiments, the fourth location 126 is a destination location indicated by the user 160 or by the received user request 162 of FIG. 1A. Upon arrival at the fourth location 126, the truck 190 notifies 150 the dispatch and routing controller 132 of its arrival and provides a confirmation of arrival 158 at the fourth location 126 to the user 160 through the user application 102. Then, a pickup service 180 picks up the cargo 130 and brings the cargo 130 to the user 160.

Although not illustrated by FIGS. 1A-D, some embodiments may coordinate transfer of a portion of the cargo or at least one of the one or more cars 108 between the highly-automated locomotive 110 and another locomotive.

FIG. 2 is high-level block diagram illustrating an example embodiment of a system 200 employed by the present disclosure. The system 200 includes a dispatch and routing controller 232 configured to issue a dispatch and routing instruction 264 to the highly automated trainset 206, responsive to a user request 262 from the user 260. The request 262 is associated with cargo 230. The user 260 enters the user request 262 via an application 202. The dispatch and routing instruction 264 causes a highly-automated trainset 206, having one or more cars 208 attached to a highly-automated locomotive 210, to move from a first location to a second location over a train track 234. The highly-automated locomotive 210 provides, at the second location, a notification 250 to the dispatch and routing controller 232 of readiness of loading for cargo 230.

The dispatch and routing controller 232 provides, at the second location, a confirmation 258 to the user 260 indicating either (1) readiness for loading of cargo 230 onto the one or more cars 208 or (2) a confirmation 258 of arrival at the second location or a confirmation 258 of cargo 230 being loaded. The dispatch and routing controller 232 enables loading of at least one of the one or more cars 208 with the cargo 230 at the second location. The dispatch and routing controller 232 issues a second dispatch and routing instruction 264, further responsive to the received user request 262, that causes the highly-automated trainset 206 to travel from the second location to a third location over the train track 234. The dispatch and routing controller 232 coordinates transfer of the cargo 230 from the third location to a fourth location through one or more trucks.

FIG. 3 is diagram illustrating sensor braking range according to an example embodiment of a system 300 employed by the present disclosure. In an embodiment, the routing is performed by the dispatch and routing controller 132 of FIGS. 1A-D, 232 of FIG. 2, or 332 of FIG. 3. The routing is based upon one or more characteristics 392 or capabilities 382.

In another embodiment, the dispatch and routing controller 132 performs routing based upon at least one of the characteristics 392 as associated with one or more other locomotives. The dispatch and routing controller 132 performs routing based upon one or more of the following characteristics 392: a current utilization or capacity of the train track using a portion of the train track that is less utilized than another portion of the train track, avoidance of traffic congestion, a weight of the one or more cars, a volume of the one or more cars; a weight of the cargo, a volume of the cargo, a destination of the cargo, a location of the cargo, a transit time, an arrival time, a scheduled departure time, and a capability of the highly-automated locomotive including any of power, speed, braking range, and sensing range.

In an embodiment, avoidance of traffic congestion may include but is not limited to include (a) avoidance of other rail traffic based on utilization of the train track or (b) avoidance of vehicle traffic where one or more roads cross the train track, also known as grade crossings. According to some embodiments, by knowing whether a grade crossing is busy, the dispatch and routing controller 132 may assign a risk of traffic congestion to a given portion of the train track that indicates whether a car may be nearby or on the train track, thereby avoiding traffic congestion.

In embodiments, the dispatch and routing controller 132 performs routing based upon at least one of the characteristics 392 as associated with the one or more other locomotives. In embodiments, the dispatch and routing controller 132 performs routing between the highly-automated locomotive and the one or more other locomotives. In embodiments, the dispatch and routing controller 132 improves efficiency of routing, based on other pending pickups and drop-offs, by leaving at least one car of the one or more cars in an intermediate location, such as a siding, and allowing another less-busy locomotive to pick up the at least one car of the one or more cars for delivery.

In embodiments, the dispatch and routing controller 132 performs routing to swap cargo between locomotives. The swapped cargo may include a complete car.

In embodiments, two or more locomotives join together for pulling heavy (or heavier) loads or increasing effective transport range. When joined, the dispatch and routing controller 132 may assign the first locomotive to an active state and the second locomotive to a passive state. Based upon a triggering event determined by the dispatch and routing controller 132, the dispatch and routing controller 132 may set the second locomotive to take over, by setting the second locomotive to an active state and the first locomotive to a passive state.

In some embodiments, the dispatch and routing controller 132 may apply a routing algorithm (such as solving a mathematical optimization problem that achieves a goal, such as getting the train to a destination) while considering (or improving or reducing or minimizing) one or more cost functions while respecting one or more constraints. The cost function may be based on the transit time of the train or the fuel used by the train. The one or more constraints may include (a) routing over the tracks, (b) not exceeding one or more train speeds, or (c) having a given amount of fuel or battery life. The routing algorithm (or optimizer) then may then find the best available solution (to this mathematical optimization problem) that considers (or improves or reduces or minimizes) the transit time of the train or the fuel used by the train.

The dispatch and routing controller 132 may perform routing by any routing algorithm known to one skilled in the art. The routing algorithm may include but is not limited to include shortest path routing, graph routing, or any other routing algorithm known to one skilled in the art.

The cost function may be any cost function known to one skilled in the art, including but not limited to including time, number of train stops, speed of train, latency, or dynamic costs such as motion, time, velocity, or acceleration of the train, or any other cost function known to one skilled in the art.

In an embodiment, FIG. 3 illustrates such a capability 382 (e.g., feature) of braking range. As illustrated in FIG. 3, a highly-automated trainset 302 (also referred to as “train” herein) may communicate (via its highly automated locomotive 310) one or more capabilities 382 or one or more characteristics 392 to the dispatch and routing controller 332. The dispatch and routing controller 332 may send a train's route or speed 384 to the highly-automated trainset 302 including a route and a corresponding speed for the highly-automated trainset 302.

As illustrated in the non-limiting example 300 of FIG. 3, a train 302 may have a sensor range 308 that corresponds with a braking range 320. The train 302 has braking ranges that vary based on its speed, with higher speeds corresponding to higher braking ranges. Ideally, the train 302 has a sensor range that is at least as long as the train's braking range, as shown by braking range 320. As such, if the train 302 detects a condition that requires braking, the train 302 may successfully come to a stop if the train 302 is traveling at 35 mph or at a range within the sensor range 308, such as a 30 mph braking range 306. However, if the train 302 is traveling at a higher speed than 35 mph, such as 40 mph, the train 302 may not be able to stop within the 40 mph braking range 304.

FIG. 3 illustrates an example of one of the characteristics 392 employed to determine routing or other instructions to the train 302. Other characteristics 392 of the train 302 can also be used to determine instructions, including but not limited to one or more of the following characteristics 392 of the train 302: a current utilization or capacity of the train track, using a portion of the train track that is less utilized than another portion of the train track, avoidance of traffic congestion, a weight of the one or more cars, a volume of the one or more cars, a weight of the cargo, a volume of the cargo, a destination of the cargo, a location of the cargo, a transit time, an arrival time, a scheduled departure time, and a capability 382 of the highly-automated locomotive 310 including any of power, speed, braking range, and sensing range. In addition, in embodiments, the routing of the train 302 is further based upon at least one of the characteristics 392 as associated with one or more other locomotives.

FIG. 4 is a flow diagram illustrating an example embodiment of the present disclosure. As illustrated in FIG. 4, the method 400 may dispatch and route, by a dispatch and routing controller, and responsive to a received user request, a highly-automated trainset (402). The highly-automated trainset includes one or more cars attached to a highly-automated locomotive. The method 400 dispatches the highly-automated locomotive from a first location to a second location over a train track. The method 400 provides, at the second location, a notification indicating readiness for loading of cargo onto the one or more cars (404). The method enables loading, by a user or apparatus at the second location, at least one of the one or more cars with the cargo at the second location (406). Further responsive to the received user request, the method 400 dispatches and routes, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track (408). Optionally, the method 400 coordinates transfer of cargo from the third location to a fourth location (410).

FIG. 5 illustrates a computer network or similar digital processing environment in which embodiments of the present disclosure may be implemented. Client computer(s)/devices 50 (e.g., computing devices/display devices) and server computer(s) 60 (e.g., a Cloud-based service) provide processing, storage, and input/output devices executing application programs and the like. The client computer(s)/devices 50 (e.g., computing devices/display devices) can also be linked through communications network 70 to other computing devices, including other client devices/processes 50 and server computer(s) 60. The communications network 70 can be part of a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, local area or wide area networks, and gateways that currently use respective protocols (TCP/IP, BLUETOOTH™, etc.) to communicate with one another. Other electronic device/computer network architectures are suitable.

FIG. 6 is a diagram of an example internal structure of a computer (e.g., client processor/device 50 or server computers 60) in the computer system of FIG. 5. Each computer 50, 60 includes a system bus 79, where a bus is a set of hardware lines used for data transfer among the components of a computer or processing system. The system bus 79 is essentially a shared conduit that connects different elements of a computer system (e.g., processor, disk storage, memory, input/output ports, network ports, etc.) that enables the transfer of information between the elements. Attached to the system bus 79 is an I/O device interface 82 for connecting various input and output devices (e.g., keyboard, mouse, displays, printers, speakers, touchscreen etc.) to the computer 50, 60. A network interface 86 allows the computer to connect to various other devices attached to a network (e.g., network 70 of FIG. 5). Memory 90 provides volatile storage for computer software instructions 92 and data 94 used to implement an embodiment 100 of the present disclosure (e.g., any of the dispatch and routing controller, any sensor or sensors described herein, processor, memory, or any other device, system, module, or controller described herein). Disk storage 95 provides non-volatile storage for computer software instructions 92 and data 94 used to implement some embodiments of the present disclosure. Note, data 94 may be the same between a client 50 and server 60, however, the type of computer software instructions 92 may differ between a client 50 and a server 60. A central processor unit 84 is also attached to the system bus 79 and provides for the execution of computer instructions.

In one embodiment, the processor routines 92 and data 94 are a computer program product (generally referenced 92), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the disclosure system. Computer program product 92 may be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication or wireless connection. In other embodiments, the disclosure programs are a computer program propagated signal product 107 (shown in FIG. 5) embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals may be employed to provide at least a portion of the software instructions for the present disclosure routines/program 92.

Embodiments or aspects thereof may be implemented in the form of hardware (including but not limited to hardware circuitry), firmware, or software. If implemented in software, the software may be stored on any non-transient computer readable medium that is configured to enable a processor to load the software or subsets of instructions thereof. The processor then executes the instructions and is configured to operate or cause an apparatus to operate in a manner as described herein.

Further, hardware, firmware, software, routines, or instructions may be described herein as performing certain actions or functions of the data processors. However, it should be appreciated that such descriptions contained herein are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.

It should be understood that the flow diagrams, block diagrams, and network diagrams may include more or fewer elements, be arranged differently, or be represented differently. However, the block and network diagrams illustrate embodiments of the Applicant's system and method as well.

Accordingly, further embodiments may also be implemented in a variety of computer architectures, physical, virtual, cloud computers, or some combination thereof, and, thus, the data processors described herein are intended for purposes of illustration only and not as a limitation of the embodiments.

While this disclosure has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the disclosure encompassed by the appended claims.

Some embodiments may provide one or more technical advantages that may transform the behavior or data, provide functional improvements, or solve a technical problem. In some embodiments, technical advantages or functional improvements may include but are not limited to improvement of efficiency, accuracy, speed or other effects compared to the existing methods. Some embodiments provide technical advantages or functional improvements in that they overcome functional deficiencies of existing methods. Some embodiments include technical advantages that include but are not limited to performance improvement or scalability compared with existing approaches.

According to some embodiments, other technical advantages or functional improvements may include but are not limited to the following. Some embodiments may provide a technical advantage or functional improvement by using highly-automated trains, thereby removing the requirement of user-operated trains, e.g., holding the advantage of removing engineers from driving the trains keeping operating costs low. In addition, given that the proposed solution operates on standard track and uses existing cars, a technical advantage of the proposed solution is that it does not require the building of specialized new track or trains. Thus, given that embodiments make use of existing track or cars, and do not require manual operating trains, embodiments substantially reduce costs in multiple ways. Further, it is a technical advantage that the disclosed approach in an embodiment may be achieved without the high-level of complexity required for self-driving cars that require more control for their operation as they do not operate on a fixed track and have to sense for or handle other types of collisions, such as a side-to-side collision.

Some embodiments solve a technical problem, thereby providing a technical effect, by one or more of the following. Some embodiments may solve a technical problem, thereby providing a technical effect, by using highly-automated trains, thereby removing the requirement of user-operated trains, e.g., holding the advantage of removing engineers from driving the trains keeping operating costs low. In addition, given that the disclosed approach in an embodiment operates on standard track and uses existing cars, a technical effect of the disclosed approach in an embodiment is that it does not require the building of specialized new track or trains. Thus, given that embodiments make use of existing track or cars, and do not require manual operating trains, embodiments substantially reduce costs in multiple ways. Further, it is a technical effect that the disclosed approach in an embodiment may be achieved without the high-level of complexity required for self-driving cars that require more control for their operation as they do not operate on a fixed track and have to sense for or handle other types of collisions, such as a side-to-side collision.

The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety. 

What is claimed is:
 1. A method comprising: responsive to a received user request associated with cargo, dispatching and routing, by a dispatch and routing controller, a highly-automated trainset having one or more cars attached to a highly-automated locomotive from a first location to a second location over a train track; providing, at the second location, a notification indicating readiness for loading of cargo onto the one or more cars; enabling loading of at least one of the one or more cars with the cargo at the second location; and further responsive to the received user request, dispatching and routing, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track.
 2. The method of claim 1, further comprising: coordinating transfer of at least a portion of the cargo or at least one car of the one or more cars between the highly-automated locomotive and another locomotive.
 3. The method of claim 1, wherein the first location is an initial location along the train track, the second location is a pickup location along the train track, and the third location is a rail delivery location along the train track.
 4. The method of claim 1, wherein the one or more cars include any of a freight car or a passenger car.
 5. The method of claim 1, wherein the routing is further based upon one or more other locomotives.
 6. The method of claim 1, wherein the routing is based upon one or more of the following characteristics: a current utilization or capacity of the train track; using a portion of the train track that is less utilized than another portion of the train track; avoidance of traffic congestion; a weight of the one or more cars; a volume of the one or more cars; a weight of the cargo; a volume of the cargo; a destination of the cargo; a location of the cargo; a transit time; an arrival time; a scheduled departure time; and a capability of the highly-automated locomotive including any of power, speed, braking range, and sensing range.
 7. The method of claim 6, wherein the routing is further based upon at least one of the characteristics as associated with one or more other locomotives.
 8. The method of claim 1, further comprising: coordinating transfer of the cargo from the third location to a fourth location.
 9. The method of claim 8, wherein the fourth location is a destination location indicated by the received user request.
 10. A system comprising: a processor; and a memory with computer code instructions stored therein, the memory operatively coupled to said processor such that the computer code instructions configure the processor to implement: a dispatch and routing controller configured to: dispatch and route, responsive to a received user request associated with cargo, by the dispatch and routing controller, a highly-automated trainset having one or more cars attached to a highly-automated locomotive from a first location to a second location over a train track; provide, at the second location, a notification indicating readiness for loading of cargo onto the one or more cars; enable loading of at least one of the one or more cars with the cargo at the second location; and dispatch and route, further responsive to the received user request, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track.
 11. The system of claim 10, wherein the dispatch and routing controller is further configured to coordinate transfer of at least a portion of the cargo or at least one car of the one or more cars between the highly-automated locomotive and another locomotive.
 12. The system of claim 10, wherein the first location is an initial location along the train track, the second location is a pickup location along the train track, and the third location is a rail delivery location along the train track.
 13. The system of claim 10, wherein the one or more cars include any of a freight car or a passenger car.
 14. The system of claim 10, wherein the dispatch and routing controller is further configured to route based upon one or more other locomotives.
 15. The system of claim 10, wherein the dispatch and routing controller is further configured to route based upon one or more of the following characteristics: a current utilization or capacity of the train track; using a portion of the train track that is less utilized than another portion of the train track; avoidance of traffic congestion; a weight of the one or more cars; a volume of the one or more cars; a weight of the cargo; a volume of the cargo; a destination of the cargo; a location of the cargo; a transit time; an arrival time; a scheduled departure time; and a capability of the highly-automated locomotive including any of power, speed, braking range, and sensing range.
 16. The system of claim 15, wherein the dispatch and routing controller is further configured to route based upon at least one of the characteristics as associated with one or more other locomotives.
 17. The system of claim 10, wherein the dispatch and routing controller is further configured to coordinate transfer of the cargo from the third location to a fourth location.
 18. The system of claim 17, wherein the fourth location is a destination location indicated by the received user request.
 19. A computer program product comprising: a non-transitory computer-readable medium configured to store instructions for transporting one or more cars via a highly-automated locomotive, the instructions, when loaded and executed by a processor, cause the processor to: dispatch and route, responsive to a received user request associated with cargo, by a dispatch and routing controller, a highly-automated trainset having the one or more cars attached to the highly-automated locomotive from a first location to a second location over a train track; provide, at the second location, a notification indicating readiness for loading of cargo onto the one or more cars; enable loading of at least one of the one or more cars with the cargo at the second location; and dispatch and route, further responsive to the received user request, by the dispatch and routing controller, the highly-automated trainset from the second location to a third location over the train track.
 20. The computer program product of claim 19, wherein the processor is further configured to coordinate transfer of at least a portion of the cargo or at least one car of the one or more cars between the highly-automated locomotive and another locomotive. 